package com.zte.claa.inficombo.csa.app.service.nbiot;

import java.util.Map;

import com.zte.claa.inficombo.csa.app.controller.ret.CmccOneNetRptData;
import com.zte.claa.inficombo.csa.app.model.dev.DevBase;

// NBIOT终端数据上报处理（数据持久化，数据发布）。
public interface NBIotDevDataRptService {
	
	/**
	 * NB-IOT-DEV 下行控制命令下发统一接口...
	 * 
	 * [注]: NBIOT设备下行命令，如果定义为confirm命令，表示立即执行；否则表示离线执行。
	 * 
	 * @param devbase
	 * @param payload
	 * @param extParaMap
	 * @param offlineMode
	 * @return
	 * @throws Exception
	 */
	public NBIotCmdAck execNBIotCmd(DevBase devbase, String payload, Map<String, Object> extParaMap, boolean offlineMode) throws Exception;

	// 中移动OneNet上报数据（deveui=devId）
	public boolean submitCmccOneNetRptData(CmccOneNetRptData rptData);
	
	// 电信运营商的NBIOT数据上报接口，待后续定义和添加...
	public boolean submitCtccAepRptData(String rptJsonData);
		
	// 联通运营商的NBIOT数据上报接口，待后续定义和添加...
	public boolean submitCuccAepRptData(String rptJsonData);
}
